const { UserModel } = require("../models/index")

// 检查是否处于禁言状态中间件
module.exports = async (req, res, next) => {
  try {
    // 获取用户ID
    const { user_id } = req.body

    if (!user_id) {
      return res.status(400).json({
        error: '用户ID不能为空'
      })
    }

    // 查找用户记录
    const userItem = await UserModel.findByPk(user_id)

    // 当前时间
    const nowTime = new Date(Date.now())

    if (userItem.status === '禁言' && userItem.mute_until > nowTime) {
      return res.status(400).json({
        error: '您当前处于禁言状态'
      })
    } else {
      next()
    }

  } catch (error) {
    res.status(500).json({
      error: error.message
    })
  }
}